// models/Like.js
module.exports = (sequelize, DataTypes) => {
    const Like = sequelize.define('Like', {
        id: {
            type: DataTypes.INTEGER,
            primaryKey: true,
            autoIncrement: true
        },
        userId: {
            type: DataTypes.INTEGER,
            allowNull: false,
            references: {
                model: 'users', // 关联到 User 表
                key: 'id'
            }
        },
        itemId: {
            type: DataTypes.INTEGER,
            allowNull: false,
            references: {
                model: 'items', // 关联到 Item 表
                key: 'id'
            }
        },
    }, {
        tableName: 'Likes', // 明确指定表名
        indexes: [
            {
                unique: true,
                fields: ['userId', 'itemId'] // 防止用户重复点赞同一商品
            }

        ],
        charset: 'utf8mb4', // 指定字符集
        collate: 'utf8mb4_general_ci', // 使用 utf8mb4 字符集的排序规则
        comment: '点赞表',
        timestamps: true, // 自动维护 createdAt、updatedAt 字段
        paranoid: true,   // 启用 deletedAt 软删除
        deletedAt: 'deletedAt', // 软删除字段重命名
    });

    return Like;
};